package psrc.logic.pages.consultaDadosPedidos;

import java.util.ArrayList;
import java.util.List;

import psrc.logic.pages.base.ControllerBase;
import psrc.logic.pages.pedido.PedidoModel;
import psrc.logic.util.beans.ClienteBean;
import psrc.logic.util.beans.FabricaBean;
import psrc.logic.util.beans.PedidoBean;
import psrc.logic.util.beans.ProdutoBean;

public class LoadDadosProdutosController extends ControllerBase {

	private static final long serialVersionUID = 1L;

	List<PedidoBean> pedidoBeans = new ArrayList<PedidoBean>();
	List<String> pedidoList = new ArrayList<String>();

	List<ProdutoBean> produtoList = new ArrayList<ProdutoBean>();
	ClienteBean cliente;
	FabricaBean fabrica;
	PedidoBean pedido;

	@Override
	public String executeController() throws Exception {
		try {
			this.pedidoBeans = new PedidoModel().getPedidosList();
			for (int i = 0; i < pedidoBeans.size(); i++) {
				pedidoList.add(pedidoBeans.get(i).getIdPedido() + ", "
						+ pedidoBeans.get(i).getNumeroPedido());
			}
		} catch (Exception e) {
			return "genericError";
		}
		return SUCCESS;
	}

	public String executeLoadList() throws Exception {
		try {
			int idPedido = Integer.parseInt(pedidoList.get(0).split(",")[0]);
			DadosProdutosModel model = new DadosProdutosModel();

			this.cliente = model.getClienteListByIdPedido(idPedido);
			this.fabrica = model.getFabricaByIdPedido(idPedido);
			this.pedido = model.getPedidoByIdPedido(idPedido);
			this.produtoList = model.getProdutoListByIdPedido(idPedido);

			this.pedidoBeans = new PedidoModel().getPedidosList();
			pedidoList.clear();
			for (int i = 0; i < pedidoBeans.size(); i++) {
				pedidoList.add(pedidoBeans.get(i).getIdPedido() + ", "
						+ pedidoBeans.get(i).getNumeroPedido());
			}
		} catch (Exception e) {
			return "genericError";
		}
		return SUCCESS;
	}

	public FabricaBean getFabrica() {
		return fabrica;
	}

	public void setFabrica(FabricaBean fabrica) {
		this.fabrica = fabrica;
	}

	public PedidoBean getPedido() {
		return pedido;
	}

	public void setPedido(PedidoBean pedido) {
		this.pedido = pedido;
	}

	public List<PedidoBean> getPedidoBeans() {
		return pedidoBeans;
	}

	public void setPedidoBeans(List<PedidoBean> pedidoBeans) {
		this.pedidoBeans = pedidoBeans;
	}

	public List<String> getPedidoList() {
		return pedidoList;
	}

	public void setPedidoList(List<String> pedidoList) {
		this.pedidoList = pedidoList;
	}

	public List<ProdutoBean> getProdutoList() {
		return produtoList;
	}

	public void setProdutoList(List<ProdutoBean> produtoList) {
		this.produtoList = produtoList;
	}

	public ClienteBean getCliente() {
		return cliente;
	}

	public void setCliente(ClienteBean cliente) {
		this.cliente = cliente;
	}

}